NotionAIに時間計算を任せてみた
NotionAIを気軽に使ってみるアドベントカレンダーの20日目です。
時間変換を行う際、丁度いい出力してくれるサービスやアプリというのも中々なく、都度Pythonにて換算を行っています。
ふと、NotionAIに投げていい塩梅で返ってくるのなら手間も省けるのではと思い、試してみました。
日付とUnix時間の換算
まずは基本です。
2024年12月31日0時0分0秒をUnix時間で換算して
2024年12月31日0時0分0秒(日本時間)のUnix時間は1703948400です。
正解は1735570800です。1月1日と換算間違えたと予想しましたが、左から3桁目が変動しているのでその誤差では収まらないようです。
結果は、2023年12月31日でした。1年ずれてますね。
そこで、指示を少し変えてみます。
2024-12-31 00:00:00を日本時間で、Unix時間で換算して
2024年12月31日 00:00:00(日本時間、JST)のUnix時間は1703948400です。
これは以下の計算に基づいています:
- 日本時間(JST): 2024-12-31 00:00:00
- UTC(世界協定時): 2024-12-30 15:00:00
計算上のベースは確かに2024年となっているようです。ということは、日付計算の問題にありそうです。逆への換算を試みました。
1703948400を日本時間で年月日表記にして
Unix時間 1703948400 は日本時間で:
2024年12月31日 00:00:00
NotionAI内部でのUnixTime換算が何か間違ってるのではないかと思われます。次に本来の2024年12月31日を計算させてみます。
1735570800を日本時間で年月日表記にして
Unix時間 1735570800 は日本時間で:
2024年12月30日 15:00:00
時差があるとはいえ、この2つのUnix時間がほぼ同一の時間を表しているのは興味深いです。その違いを訊いてみることにしました。
1703948400と1735570800 で年単位のずれが発生しない理由
これら2つのUnix時間を比較すると:
- 1703948400 = 2024年12月31日 00:00:00 (JST)
- 1735570800 = 2024年12月30日 15:00:00 (JST)
これらの時間は同じ年(2024年)に含まれています。両者の差は約31,622,400秒(およそ366日)ですが、この差分は2024年内での時間の違いを表しているためです。
また、2024年はうるう年であることも考慮する必要があります。
2024年はうるう年であることも考慮する必要があります。
想定外のアンサーでした。これはつまり、NotionAI内でのうるう年計算は日単位ではなく年単位で行っている可能性があります。
あとがき
とりあえず言えることは、日付計算をNotionAIには任せない、という辺りでしょうか。時間のフォーマット変換というのは何時になっても厄介なものです。日付⇔Unix時間辺りは以下のようなサイトをブックマークすることをおすすめします。